A structured programming is strongly recommended when a program is developed. Specifically, it is required to make a module by combining processing sections each including relatively few sentences. Moreover, a process common to a plurality of the modules is required to be modularized. Accordingly, for example, when a system includes programs whose total sum of sentences is over one million, the system often includes several thousand modules each having several ten processing sections.
In such a large-scale system as described above, persons involved in the development (that is to say, persons who sufficiently know the relation among the modules and the structure of each of the modules) maintain the system for a while after the development in many cases. However, such a system is often used over several ten years while repeatedly maintained. As time passing by, the persons involved in the development are gone so that persons who do not know the structures of the modules are required to maintain the system. In such a case, because the structured programming is used, it is required to figure out the functions each of which is described separately in a large amount of the modules so that the maintenance is extremely difficult. In other words, structural analysis of the module becomes difficult.
For example, each of Patent Document 1 and Patent Document 2 discloses a technique for supporting structural analysis of a module. Patent Document 1 discloses an automatic module block diagram generator which automatically creates a module block diagram. Patent Document 2 discloses an automatic test item generating device which automatically creates a flowchart and test items.